Skip to main content

Ejemplo: Usando el CSV Utility SL biblioteca

Producto: CODESYS IIOT Bibliotecas SL

. Lectura de un archivo CSV:
  • El CSVReader La carpeta contiene los componentes para leer archivos CSV.

  • La inicialización y el paso de la ruta del archivo se realiza mediante el CSVReaderInit bloque de funciones

  • Los valores del archivo CSV se pueden leer individualmente, línea por línea o todos a la vez. El NextLine, NextElement, o ReadAll Los bloques de funciones se utilizan para leer los valores.

  • La la CSVReaderExample aplicación en el CSV Utility Examples.project proyecto de ejemplo muestra cómo utilizar estos componentes.

    La longitud máxima del elemento debe ser mayor o igual que la longitud máxima de la columna del archivo CSV.

. Escribir un archivo CSV:
  • El CSVWriter La carpeta contiene los componentes para escribir archivos CSV.

  • Los datos se guardan en tres pasos:

    • El primer paso es inicializar la biblioteca. En este momento, se pasan la ruta y el nombre del archivo.

    • El segundo paso es almacenar los datos en un búfer.

    • El tercer paso es escribir el búfer en un archivo CSV.

Descripción

El ejemplo describe cómo puede utilizar los bloques de funciones de la biblioteca en una aplicación.

Programación procesal clásica

Los bloques de funciones para la programación clásica basada en bloques de funciones se encuentran en el FunctionBlocks carpeta.

Los bloques de funciones de esta carpeta están diseñados para el procesamiento asíncrono. Se derivaron de la CBM.ETrigA bloque de funciones

Para cada bloque de funciones, también se ha creado un objeto de visualización que se puede utilizar en otros proyectos.

Un ejemplo de esto se puede encontrar en el CSV Utility Examples.project proyecto en el CSVWriterCFCExample solicitud.

Inicialización: Esto se hace por medio del Init bloque de funciones Aquí se puede pasar la ruta de almacenamiento y el nombre del archivo.

Para agregar valores: Los valores se pueden escribir en el búfer por medio del AddXXX bloques de funciones Se puede añadir una nueva línea mediante el botón NewLine bloque de funciones Se crea un nuevo archivo con NewFile.

Ahorrar: El búfer se guarda mediante el WriteFile bloque de funciones Los valores se escriben en el formato estándar del tipo de datos correspondiente.

visualizaciones: Una visualización de las salidas de entradas y salidas para cada bloque de función.

Uso de los bloques de funciones

Todos los bloques de funciones en el FunctionBlocks la carpeta reacciona a un flanco ascendente en la xExecute aporte.

Preste atención a que estas operaciones se ejecutan de forma asíncrona y el xDone, xError, y eError las salidas deben muestrearse en consecuencia. El procesamiento no tiene que hacerse dentro de un ciclo.

Programación orientada a objetos

Los bloques de funciones y las interfaces para la programación orientada a objetos se encuentran en el Objects carpeta.

Un ejemplo de esto se puede encontrar en el CSV Utility Examples.project proyecto en el CSVWriterSTExample solicitud.

El CSVWriter El bloque de funciones proporciona métodos básicos para guardar archivos CSV.

Inicialización: Al principio, el InitSave se debe llamar al método para crear un nuevo archivo o abrir un archivo existente.

Para agregar valores: Cuando uno de los Add se llama a los métodos, el valor se escribe en el búfer. Se agrega una nueva línea tan pronto como se llama al método correspondiente. Si el búfer está lleno, se devuelve un error. Tan pronto como se hayan guardado los datos, el espacio vuelve a estar disponible para nuevos valores.

  • AddXXX: Inserta datos al final del búfer

  • NewLine: Agrega una nueva línea

Ahorrar:

  • Save: Guarda el valor del búfer como un archivo CSV

Métodos adicionales:

  • GetFileSize: Devuelve el tamaño del archivo actual

  • NewFile: crea un nuevo archivo, ya sea con un nombre especificado o un nombre generado automáticamente

Error: Todos los métodos tienen un campo de error para almacenar un posible error del tipo CSV_ERROR.

Información adicional

El CSV Utility SL Examples.project proyecto de muestra contiene una aplicación de muestra para CSVReader y dos ejemplos de aplicaciones para CSVWriter.

Solicitud: CSVReaderExample

El ejemplo muestra las tres formas de leer valores de un archivo CSV. El Prog El programa muestra cómo usar el CSVReaderInit, NextElement, ReadAll, y NextLine bloques de funciones los contenidos de la CSVReader.csv El archivo se muestra en una visualización.

Sugerencia

Para probar los ejemplos en un CODESYS Control, el archivo CSV CSVReader se puede copiar desde el directorio de destino de la instalación al c:\temp directorio.

Solicitud: CSVWriterCFCExample

Este ejemplo usa un ejemplo de CFC para mostrar cómo usar bloques de funciones del CSVWriter biblioteca. También muestra cómo utilizar la visualización integrada.

Funcionalidad:

  • El WriteValues El programa crea un archivo CSV en el "c:/temp/CSVWriterCFCExampleData.csv" carpeta.

  • En la visualización, al hacer clic en el Haga clic aquí para agregar El botón activa la escritura en el archivo.

  • La inicialización se realiza mediante el CSV.Init bloque de funciones La ruta y el nombre del archivo se pasan aquí directamente.

  • El AddWord, AddString, y NewLine Los bloques de funciones muestran cómo agregar valores al búfer interno.

  • El ctu contador incrementa el número de línea durante cada evento. Después de agregar una nueva línea, los valores se escriben en un archivo CSV por medio del WriteFile bloque de funciones

Solicitud: CSVWriterSTExample

Este ejemplo muestra cómo escribir valores de variables en un archivo CSV mediante programación orientada a objetos o programación secuencial. Cada proceso se ejecuta en dos tareas. Una tarea escribe los valores en el búfer y la otra guarda los datos del búfer en el archivo.

Funcionalidad:

  • ObjectOriented_Save (ahorro orientado a objetos)

    Este programa llama al Save método de DataObject, donde se implementa la operación de guardar.

  • ObjectOriented_Write (escritura orientada a objetos)

    Este programa llama al Write método de DataObject donde se implementa la operación de escritura.

  • DataObject

    Este bloque de funciones implementa el ICSVObject interfaz. El Write El método incluye las variables locales que se guardarán más tarde. El correspondiente AddXXX Se llama al método para cada tipo de datos. Después de un cierto número de líneas, se crea un nuevo archivo con otros valores. Tan pronto como se produce un error, el Error se alcanza el estado. Entonces no se escribirá nada más. El Save El método implementa la operación de guardar. Al principio, el InitSave metodo de la CSVWriter se llama la instancia del bloque de funciones. Después de eso, sólo el Save el método todavía tiene que ser llamado.

    Para activar los siguientes programas, se deben cambiar las POU en las tareas.

  • Sequential_Save (guardado secuencial)

    La operación de guardar también debe iniciarse con el InitSave método. Una vez que el archivo CSV alcanza un tamaño específico, se crea un nuevo archivo. Si no se especifica ningún nombre de archivo, se utiliza el nombre existente con la numeración adjunta.

  • Sequential_Write (escritura secuencial)

    Se escriben diferentes variables en el búfer. Si está lleno, entonces el EndOfBuffer se devuelve el error. A diferencia de la operación de escritura descrita anteriormente, esta vez se ignora el error y se sigue escribiendo en el búfer. Como resultado, se pierden algunos datos, pero el programa continúa ejecutándose. Tan pronto como se inicia la siguiente operación de guardado, el búfer vuelve a estar libre.

Requisitos y restricciones del sistema

Sistema de programación

CODESYS Development System (versión 3.5.18.0 o superior)

Sistema de tiempo de ejecución

Todas

Nota: Utilice el gratuito Device Reader proyecto (disponible en CODESYS Store International) para conocer las funciones compatibles con el controlador.

Componentes adicionales

-

Aviso

_example_icon.png DESCARGAR proyectos